/*
* @Author: AI Assistant
* @Date: 2024-05-07 15:30:00
* @Last Modified by: AI Assistant
* @Last Modified time: 2024-05-07 15:30:00
*/

// 要求单词要尽量简洁短小, 样式根类名要用驼峰的命名方式
// 跟类名下面的所有子类型都要用下滑线连接
// ai 不要修改或者删除  上面的注释, 并且代码要 严格按照上面的要求来

// 页面容器样式
.PageTemplate {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    background-color: #ffffff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);

    // 页面标题样式
    .header {
        font-size: 24px;
        font-weight: 600;
        color: #333;
        margin-bottom: 24px;
        padding-bottom: 12px;
        border-bottom: 2px solid #e8e8e8;
    }

    // 内容卡片样式
    .content_card {
        margin-top: 20px;

        // 操作按钮区域
        .action_buttons {
            display: flex;
            gap: 12px;
            margin-bottom: 24px;
        }

        // 数据展示区域
        .data_display {
            margin: 20px 0;
            padding: 16px;
            background-color: #fafafa;
            border-radius: 8px;

            // 数据项样式
            .data_item {
                margin-bottom: 12px;
                padding: 8px 0;
                display: flex;
                align-items: center;
                gap: 8px;

                &:last-child {
                    margin-bottom: 0;
                }
            }
        }

        // 子组件使用
        .child_components {
            margin-top: 20px;
            padding: 16px;
            background-color: #f5f5f5;
            border-radius: 8px;

            .child_component_title {
                margin-bottom: 12px;
                color: #666;
                font-size: 14px;
            }

            .label_group {
                display: flex;
                flex-wrap: wrap;
                gap: 12px;
                align-items: center;
            }
        }

        // 子组件容器样式
        .children_container {
            margin-top: 20px;
            padding: 16px;
            background-color: #f0f0f0;
            border-radius: 4px;
        }
    }
}

// 通用按钮样式（用于非嵌套区域）
.btn {

    // 数据列表容器
    .data_list {
        border: 1px solid #e8e8e8;
        border-radius: 8px;
        overflow: hidden;
    }

    // 数据列表头部
    .data_list_header {
        background-color: #fafafa;
        padding: 12px 16px;
        border-bottom: 1px solid #e8e8e8;
        font-weight: 600;
        color: #333;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    // 数据项内容（用于非嵌套区域）
    .data_item_content {
        flex: 1;
    }

    // 数据项操作按钮组
    .data_item_actions {
        display: flex;
        gap: 8px;
    }

    // 空状态样式
    .empty_state {
        padding: 60px 20px;
        text-align: center;
        color: #999;

        .empty_icon {
            font-size: 48px;
            margin-bottom: 16px;
            opacity: 0.5;
        }

        .empty_text {
            font-size: 16px;
        }
    }

    // 加载状态样式
    .loading_state {
        padding: 60px 20px;
        text-align: center;

        .loading_icon {
            display: inline-block;
            width: 32px;
            height: 32px;
            border: 3px solid #f3f3f3;
            border-top: 3px solid #1890ff;
            border-radius: 50%;
            animation: spin 1s linear infinite;
            margin-bottom: 16px;
        }

        .loading_text {
            color: #666;
            font-size: 14px;
        }
    }

    // 加载动画
    @keyframes spin {
        0% {
            transform: rotate(0deg);
        }

        100% {
            transform: rotate(360deg);
        }
    }

    // 表格布局（用于数据展示）
    .data_table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;

        th,
        td {
            padding: 12px 16px;
            text-align: left;
            border-bottom: 1px solid #e8e8e8;
        }

        th {
            background-color: #fafafa;
            font-weight: 600;
            color: #333;
        }

        tr:hover {
            background-color: #fafafa;
        }
    }

    // 表单项目样式（用于非嵌套区域）
    .form_item {
        margin-bottom: 20px;

        .form_label {
            display: block;
            margin-bottom: 8px;
            font-weight: 500;
            color: #333;
        }

        .form_input {
            width: 100%;
            padding: 8px 12px;
            border: 1px solid #d9d9d9;
            border-radius: 4px;
            font-size: 14px;
            transition: border-color 0.3s;

            &:focus {
                outline: none;
                border-color: #40a9ff;
                box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
            }

            &.error {
                border-color: #ff4d4f;

                &:focus {
                    border-color: #ff7875;
                    box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2);
                }
            }
        }
    }
}